package com.zmn.oms.model.dto.work.masterwork;

import com.zmn.oms.common.dto.OmsOperator;
import com.zmn.oms.model.entity.serviceitem.OrderServiceItem;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 类描述
 *
 * @author sunlife
 * @version 1.0
 * @date 2019/9/5 14:47
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ModifyQuotationDTO extends OmsOperator {
    /**
     * 工程师ID
     */
    private Integer masterId;

    /**
     * 后台产品ID
     */
    private Integer productId;

    /**
     * 产品品牌ID
     */
    private Integer brandId;

    /**
     * 服务项类型，目前仅支持两种类型： 1.工单服务项(非计价器订单) 2.故障服务项（计价器订单）
     * 若值不等于2，则均作为值等于1处理
     * @see com.zmn.oms.common.constant.OrderConsts#SERVICE_ITEM_TYPE_ORDER
     * @see com.zmn.oms.common.constant.OrderConsts#SERVICE_ITEM_TYPE_FAULT
     */
    private Integer servItemType;

    /**
     * 故障服务项
     */
    private List<OrderServiceItem> orderServiceItems;

    /**
     * 故障项报价ID
     */
    private Integer quotationId;

    /**
     * 报价人类型 1：系统 2：员工 3：工程师 4：用户 5：厂商 6：服务商 7：大客户 8：渠道
     * @See GlobalConsts.OPERATE_USER_TYPE_*
     */
    private Integer quotationType;

    /**
     * 旧产品信息
     */
    private String oldProductInfo;

    /**
     * 新产品信息
     */
    private String newProductInfo;

    /**
     * 优惠金额
     */
    private Integer discountAmount;

    /**
     * 城市经理优惠
     */
    private Integer cityManageDiscountAmount;

    /**
     * 小程序议价标示 2、为议价价格报价清单
     */
    private Integer negotiatedPriceFlag;

    /**
     * userId
     */
    private Long userId;

    /**
     * 最大价格类型（为null默认为查询最大优先级）
     */
    private Integer tariffType;

}
